package com.example.cmh.service;

import com.example.cmh.common.CustomException;
import com.example.cmh.common.PageResult;
import com.example.cmh.common.Result;
import com.example.cmh.pojo.Meeting;

import java.util.Date;
import java.util.List;

public interface MeetingService {
    
    Result<String> createMeeting(Meeting meeting, Integer currentUserId) throws CustomException;
    
    Result<String> updateMeeting(Boolean isAdmin, Meeting meeting) throws CustomException;
    
    Result<String> deleteMeeting(Integer meetingId) throws CustomException;
    
    Result<List<Meeting>> getMeetingList(String meetingName, String creatPerson, Date startTime, Integer currentUserId) throws CustomException;
    
    Result<PageResult<Meeting>> getMeetingListWithPage(String meetingName, String creatPerson, Date startTime, 
                                                      Integer currentUserId, Integer current) throws CustomException;
    
    Result<List<Meeting>> getAllMeetings(String meetingName, String creatPerson, Date startTime) throws CustomException;
    
    Result<String> reviewMeeting(Integer meetingId, Integer status) throws CustomException;
} 